//web_server.py的地址和监听的端口
var HOST='xx.xxx.xxx.xxx';
var PORT='1234';

var red='red';
var green='green';
var ws=null;
//机器人的qq号
var bot_qq='12345678';
function $(id) {
      return document.getElementById(id);
}

/*
*获取当前时间
*nowtime是时间函数当前的时间
*minu是要加上的分钟数
*flag=0表示不使用格式,直接12位数字
*flag=1表示使用xxxx-xx-xxTxx:xx这个格式
*/
function getnowtime(nowtime,flag,minu){
    nowtime.setMinutes(nowtime.getMinutes()+minu);
    var ans='';
    var temp='';
    ans+=nowtime.getFullYear();
    if(flag==1)
        ans+='-';

    temp=nowtime.getMonth()+1;
    if(temp<10)
        ans+='0';
    ans+=temp;
    if(flag==1)
        ans+='-';

    temp=nowtime.getDate();
    if(temp<10)
        ans+='0';
    ans+=temp;
    if(flag==1)
        ans+='T';
    
    temp=nowtime.getHours();
    if(temp<10)
        ans+='0';
    ans+=temp;
    if(flag==1)
        ans+=':';
        
    temp=nowtime.getMinutes();
    if(temp<10)
        ans+='0';
    ans+=temp;
    return ans;
}
/*
*获取当前页面上应该的字符串列表
*/
function getdate(){
    var repeat=$('repeat').value;
    repeat=parseInt(repeat);
    var interval=$('interval').value;
    var ans="[\'";
    var toda=new Date($('user_time').value.replace('T',' '));
    ans+=getnowtime(toda,0,0)+"\'";
    for(var i=0;i<repeat;i++){
        switch(interval){
            case "day":toda.setDate(toda.getDate()+1);break;
            case "week":toda.setDate(toda.getDate()+7);break;
            case "month":toda.setMonth(toda.getMonth()+1);break;
        }
        ans+=",\'"+getnowtime(toda,0,0)+"\'";
    }
    return ans+"]";
}
function init(){
    myform.user_time.value=getnowtime(new Date(),1,5);
    $('user_time').min=getnowtime(new Date(),1,5);
}
/*检查各个值是否合格
*合格返回true
*否则你懂的*/
function inspect(){
		var err=$('errorcode');
		err.innerHTML='';
        err.style.color=red;
		var ans=true;
		var flag=false;
		/*判断是否有空*/
        for(var i=0;i<document.myform.elements.length-1;i++)
        {
         if(document.myform.elements[i].value=="")
         {
           document.myform.elements[i].focus();
           document.myform.elements[i].style.backgroundColor=red;
		   ans=false;
		   flag=true;
         }
		 else
           document.myform.elements[i].style.backgroundColor=green;
        }
		if(flag)
			err.innerHTML='不能有空<br/>';
		/*判断qq号是否符合规则*/
		if(document.myform.user_num.value.length<8||document.myform.user_num.value.length>10){
			err.innerHTML+='请输入正确的8-10位qq号码<br/>'
			document.myform.user_num.style.backgroundColor=red;
			ans=false;
		}
        if(document.myform.content.value.length>66){
            err.innerHTML+='内容不要超过66个字<br/>'
			document.myform.content.style.backgroundColor=red;
			ans=false;
        }
        if(document.myform.content.value.indexOf(';;;')!=-1){
            err.innerHTML+='内容中请不要含有\';;;\'<br/>'
			document.myform.content.style.backgroundColor=red;
			ans=false;
        }
		
		/*判断日期是否符合要求*/
		var intime=document.myform.user_time.value.replace('T',' ');
		if(intime=='')
			return ans;
		var mintime=getnowtime(new Date(),1,5).replace('T',' ');
		var inobj=new Date(intime);
		var minobj=new Date(mintime);
		if(inobj<minobj){
			err.innerHTML+='时间至少五分钟以后';
			document.myform.user_time.style.backgroundColor=red;
			ans=false;
		}
        else if(intime.charAt(11)=='2'&&intime.charAt(12)>'1'){
			err.innerHTML+='每天22-23点是服务器维护时间,请见谅';
			document.myform.user_time.style.backgroundColor=red;
			ans=false;
        }
        return ans;
        
}
/*提交函数,先判断数据是否合法*/
function subit(){
    if(inspect()==false){
        return;
    }
    var err=$('errorcode');
    err.innerHTML='数据测试成功';
    err.style.color=green;
    var ans='[\"';
    ans+=getdate()+'\",\"';
    ans+=$('content').value+'\",\"';
    ans+=$('approach').value+'\",\"';
    ans+=$('obj_type').value+'\",\"';
    ans+=$('user_num').value+'\",\"';
    ans+=getnowtime(new Date(),0,0)+"\"]";
    $('server_state').innerHTML='正在与服务器握手...';
    ws = new WebSocket('ws://'+HOST+':'+PORT);
    ws.onerror = function(e){
            $('server_state').innerHTML='服务器连接失败';
            ws.close();
            ws=null;
    };
    ws.onmessage = function(e){
        if(e.data=='bye'){
            ws.close();
            ws=null;
            return;
        }
        var arrlist=e.data.split(';;;');
        for (var i=0;i<arrlist.length;i++){
            $('server_state').innerHTML+=arrlist[i]+'<br/>';
        }
        if(arrlist[0]=='666'){
            $('server_state').innerHTML='提交成功<br/>请加好友'+bot_qq+'发送这个验证码'+arrlist[1];
            $('server_state').style.color=green;
        }
        else{
            $('server_state').innerHTML='信息错误<br/>错误码:'+arrlist[0]+arrlist[1];
            $('server_state').style.color=red;
        }
    };
    ws.onopen = function(event) {
        ws.send(ans);
    }
}
window.onunload =function(){
        if(ws!=null){
            ws.close();
            ws=null;
        }
}